Classification et régionalisation

Application aux résultats des élections européennes de 2024 en France métropolitiane

CLaude GRASLAND (Université Paris Cité - département de géographie, UMR 8504 Géographie-cités - équipe TERMS)

featured

Le résumé de votre fiche dans cet encart

Introduction

Rédigez en langage de balisage markdown pour mettre en forme votre texte.

Si vous avez besoin de définir un mot/expression, utilisez la syntaxe suivante : Mot/expression à définir1
La définition sera automatiquement ajoutée dans la partie Glossaire.

Pour afficher une référence bibliographique, ajoutez-la dans le fichier biblio.bib en format BibTeX.
Vous pouvez ensuite l’appeler dans le corps document de cette manière : R Core Team (2020)
Toutes les références indiquées dans le fichier biblio.bib sont automatiquement ajoutées dans la Bibliographie.

Il est possible d’écrire des formules mathématiques en langage \(\TeX\). Pour cela, il suffit de délimiter le contenu \(\LaTeX\) par un ou deux symboles $, ex :

$$ y = \sqrt{\frac{1}{x + \beta}} $$ 

En mode Inline (1 $) , les formules sont incluses à l’intérieur du paragraphe courant, ex : \(\sum_{i=1}^n X_i\)
En mode Displayed (2 $), elles apparaissent centrées et mises en exergue, ex : \[ y = \sqrt{\frac{1}{x + \beta}} \]

Pour mettre en valeur un bloc de texte, vous pouvez utilisez une div alert-success bootstrap comme ceci :

Pour afficher une information importante, vous pouvez utilisez une div alert-danger bootstrap comme ceci :

Pour afficher une image dans le corps du document, utilisez un chunk :

1 Partie A

1.1 Partie A.1

1.1.1 Partie A.1.1

1.1.2 Partie A.1.2

1.1.3 Partie A.1.3

1.2 Partie A.2

1.3 Partie A.3

1.4 Partie A.4

2 Partie B

2.1 Partie B.1

2.2 Partie B.2

3 Partie C

3.1 Partie C.1

3.2 Partie C.2

3.3 Partie C.3

4 Partie D

4.1 Partie D.1

4.2 Partie D.2

Bibliographie

BARNIER, Julien, 2021. rmdformats: HTML Output Formats and Templates for ’rmarkdown’ Documents [en ligne]. S.l. : s.n. Disponible à l'adresse : https://github.com/juba/rmdformats.
R CORE TEAM, 2020. R: A Language and Environment for Statistical Computing [en ligne]. Vienna, Austria : R Foundation for Statistical Computing. Disponible à l'adresse : https://www.R-project.org/.
XIE, Yihui, 2020. knitr: A General-Purpose Package for Dynamic Report Generation in R [en ligne]. S.l. : s.n. Disponible à l'adresse : https://CRAN.R-project.org/package=knitr.

Annexes

Source des données brutes

  • le fichier résultats-définitifs-par-circonscriptions.csv est accesible sur le site data.gouv.fr en suivant ce lien. Il présente les résultats définitifs des élections europénnes et a pour origine le Ministère de l’Intérieur. Comme il est très complexe (beaucoup de colonnes redondantes) nous l’avons modifié pour créer des fichiers ne contenant que les colonnes indispensables (effectifs)

  • le fichier candidats-eur-2024.xlsx est accessible sur le site data.gouv.fr en suivant ce lien. Produit par le ministère de l’intérieur il fournit une information detaillée sur les candidats de chacune des listes. Nous allons en extraire uniquement les caractéristiques des têtes de liste afin de produire un tableau de métadonnées sur les 38 têtes de listes.

  • le fichier indic-stat-circonscriptions-legislatives-2022.xls a été produit par l’INSEE et est accessible en suivant ce lien. Il fournit un ensemble de données de cadrage sociales et économiques sur les circonscriptions législatives de France à partir des données du recensement de 2022 et de quelques autres sources. Il ne sera pas utilisé directement mais peut servir pour des exercices complémentaires.

  • le fichier circo_composition.xls également accessible sur le même lien permet de mettre en rapport les circonscription avec les départements, les régions ou les communes. Sachant qu’une même commune peut participer à deux circonscriptions ou plus. On s’en servira principalement pour établir le lien entre circonscriptions et régions.

  • le fichier france_circonsscriptions_legislatives_2012.json contient un fonds de carte simplifié des circonscriptions législatives en vigueur depuis 2012. C’est une reprise du travail de Toxicode. L’Atelier de cartographie de Sciences Po à ensuite vérifié, nettoyé et généralisé le fond. Il est accessible sur le site data.gouv.fr en suivant ce lien. Il est beaucoup plus léger et mieux généralisé que le fonds de carte fournit par l’INSEE avec les deux ressources précédentes

Préparation des données géométriques

On charge le fichier des circonscriptions en ne conservant que les données de France métropolitaine hors Corse, soit 533 circonscriptions. On le projette en EPSG 2154 puis on l’agrège par département et régions pour disposer de trois fonds de cartes.

# Charge le fonds de carte
map<-st_read("data/raw/france-circonscriptions-legislatives-2012.json")

# Charge la table de correspondance entre circonscriptions, départements et régions
meta<-read_xlsx("data/raw/circo_composition.xlsx",sheet= "table") 


# Harmonise les noms et codes de départements et régions
meta <- meta %>%
    select(circ=circo, dept= DEP,dept_nom=libdep, regi=REG, regi_nom = libreg) %>%
    filter(substr(circ,1,2) == dept) %>%   # CORRIGE DES ERREURS DE CODAGE DE L'INSEE
  unique()



# Crée la carte des circonscriptions
map_circ <- map %>% 
                    mutate(circ=ID) %>%
                    select(circ)     %>%
                    left_join (meta) %>%     
                    filter(nchar(dept)<3,                   # Elimine les DROM
                      ! dept %in% c("2A","2B")) %>%         # Elimine la Corse#
                    arrange(regi, dept,circ) %>%
                    st_transform(2154)                         # Change la projection
saveRDS(map_circ, "data/net/map_circ.RDS")



# Agrège par département 
map_dept <- map_circ %>% group_by(dept) %>%
                        summarize(dept_nom=min(dept_nom),
                                  regi=min(regi),
                                  regi_nom = min(regi_nom)) 
saveRDS(map_dept, "data/net/map_dept.RDS")

# Agrège par région
map_regi <- map_dept %>% group_by(regi) %>%
                        summarise(regi_nom = min(regi_nom))
saveRDS(map_regi, "data/net/map_regi.RDS")

On affiche les trois fonds de carte pour vérification:

# Chargement
map_circ <- readRDS("data/net/map_circ.RDS")
map_dept <- readRDS("data/net/map_dept.RDS")
map_regi <- readRDS("data/net/map_regi.RDS")

# Verification du fonds de carte
mf_map(map_circ, type = "base", col="lightyellow", border="gray80", lwd=0.4)
mf_map(map_dept, type = "base", col=NA, border="gray50", lwd=0.8, add=T)
mf_map(map_regi, type = "base", col=NA, border="gray20", lwd=1.6, add=T)
mf_layout(title = "Superposition des trois fonds de carte",
          credits = "Source : Toxicode & Atelier de Cartographie de Science Po
Auteur : Claude Grasland, 2024",
          frame = T)

Préparation des données électorales

Nous allons extraire du fichier électoral les variables générales de cadrage (inscrits, votants, blancs,nuls, …) et les effectifs bruts de vote pour les candidats des différentes listes par circonscription. Ces deux tableaux seront ensuite agrégés par départements et régions

x<-read.csv2("data/raw/resultats-definitifs-par-circonscription.csv")

# Modification du code des circonscriptions popur adéquation avec les fonds de carte
z<-x$Code.circonscription.législative
x$circ<-paste0(substr(z,1,2),"0",substr(z,3,4))




# Variables générales
gen<- x  %>% select(circ ,
                  ins = Inscrits,
                  vot = Votants,
                  abs = Abstentions,
                  bla = Blancs,
                  nul = Nuls,
                  exp = Exprimés)


# Ajout des clés d'agrégation géographiques
map_circ<-readRDS("data/net/map_circ.RDS")
geo<-st_drop_geometry(map_circ)
gen<-left_join(geo,gen)

# Ajout des suffrages par liste
vot <- x[,substr(names(x),1,5) =="Voix."]
a<-rep("vot",38)
b<-1:38
z<-paste0(a,b)
names(vot)<-z
vot$circ<-x$circ
vot<-vot[,c(39,1:38)]

# Tableau final des circonscriptions
don_circ<-left_join(gen,vot)
saveRDS(don_circ,"data/net/don_circ.RDS")
kable(head(don_circ), caption = "Résultats électoraux par circonscription")

# Agrégation par départements
don_dept <-don_circ %>% group_by(dept, dept_nom, regi, regi_nom) %>% summarise_at(2:45,sum)
saveRDS(don_dept,"data/net/don_dept.RDS")
kable(head(don_dept), caption = "Résultats électoraux par département")

# Agrégation par régions
don_regi <-don_circ %>% group_by(regi, regi_nom) %>% summarise_at(4:47,sum)
saveRDS(don_regi,"data/net/don_regi.RDS")
kable(head(don_regi), caption = "Résultats électoraux par région")

# Métadonnées sur les têtes de listes
m<-read_xlsx("data/raw/candidats-eur-2024.xlsx") 
m<-m %>% filter(Ordre ==1) %>%
    select(code =`Numéro de panneau`,
           nom = `Libellé de la liste`,
           tete_nom = `Nom sur le bulletin de vote`,
           tete_prenom = `Prénom sur le bulletin de vote`,
           tete_sexe = Sexe,
           tete_nais =`Date de naissance`)

 # Ajout de la nuance politique selon le ministère de l'intérieur
typol <- as.character(x[1,substr(names(x),1,6) =="Nuance"] )  
m$typol<-typol
saveRDS(m,"data/net/don_listes.RDS")
kable(m, caption = "Description des listes")

Vérification de la jointure

On affiche trois cartes du vote pour la liste n°5 (Bardella) afin de vérifier si les jointures s’opèrent correctement entre données géométriques et statistiques.

# Chargement des données géométriques
map_circ <- readRDS("data/net/map_circ.RDS")
map_dept <- readRDS("data/net/map_dept.RDS")
map_regi <- readRDS("data/net/map_regi.RDS")

# Chargement des données statistiques
don_circ <- readRDS("data/net/don_circ.RDS")
don_dept <- readRDS("data/net/don_dept.RDS")
don_regi <- readRDS("data/net/don_regi.RDS")

# Choix de la palette et des classes
mypal <-brewer.pal(9,"Blues")
mybreaks=c(0,15,20,25,30,35,40, 45,50,100)

# Carte par région
mapdon <- left_join(map_regi, don_regi) %>% 
          mutate(vot = vot5, pct = 100*vot5/exp) %>%
          select(vot,pct)
mf_map(mapdon, type="choro", var="pct", 
       breaks=mybreaks,
       pal=mypal,
       leg_val_rnd = 0, leg_pos = "left", leg_title = "% suffrages exprimés")
mf_map(mapdon, type="prop", var="vot", inches = 0.1, leg_pos="topleft", leg_title = "Nb. de voix")
mf_layout(title = "Vote Bardella aux élections européennes de 2024 par régions",
          credits = "Source : INSEE, IGN, Ministère de l'Intérieur",
          frame=T, arrow=F)

# Carte par département
mapdon <- left_join(map_dept, don_dept) %>% 
          mutate(vot = vot5, pct = 100*vot5/exp) %>%
          select(vot,pct)
mf_map(mapdon, type="choro", var="pct", 
       breaks=mybreaks,
       pal=mypal,
       leg_val_rnd = 0, leg_pos = "left", leg_title = "% suffrages exprimés")
mf_map(mapdon, type="prop", var="vot", inches = 0.1, leg_pos="topleft", leg_title = "Nb. de voix")
mf_layout(title = "Vote Bardella aux élections européennes de 2024 par régions",
          credits = "Source : INSEE, IGN, Ministère de l'Intérieur",
          frame=T, arrow=F)

# Carte par circonscription (zoom sur l'Occitanie)
mapdon <- left_join(map_circ, don_circ) %>% 
          filter(regi_nom=="Occitanie") %>%
          mutate(vot = vot5, pct = 100*vot5/exp) %>%
          select(vot,pct)
mf_map(mapdon, type="choro", var="pct", 
       breaks=mybreaks,
       pal=mypal,
       leg_val_rnd = 0, leg_pos = "left", leg_title = "% suffrages exprimés")
mf_map(mapdon, type="prop", var="vot", inches = 0.1, leg_pos="topleft", leg_title = "Nb. de voix")
mf_layout(title = "Vote Bardella aux élections européennes de 2024 par circonscription en région Occitanie",
          credits = "Source : INSEE, IGN, Ministère de l'Intérieur",
          frame=T, arrow=F)

Info session

setting value
version R version 4.4.1 (2024-06-14)
os macOS 15.1
system x86_64, darwin20
ui X11
language (EN)
collate en_US.UTF-8
ctype en_US.UTF-8
tz Europe/Paris
date 2024-12-18
pandoc 3.2 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/x86_64/ (via rmarkdown)
package ondiskversion source
dplyr 1.1.4 CRAN (R 4.4.0)
knitr 1.49 CRAN (R 4.4.1)
mapsf 0.12.0 CRAN (R 4.4.1)
RColorBrewer 1.1.3 CRAN (R 4.4.0)
readxl 1.4.3 CRAN (R 4.4.0)
sf 1.0.19 CRAN (R 4.4.1)

Citation

Grasland C (2024). “Classification et Régionalisation.”, doi:10.48645/xxxxxx https://doi.org/10.48645/xxxxxx,, https://rzine.fr/publication_rzine/xxxxxxx/.

BibTex :

@Misc{,
  title = {Classification et Régionalisation},
  subtitle = {Application aux résultats des élections européennes de 2024 en France métropolitiane},
  author = {Claude Grasland},
  doi = {10.48645/xxxxxx},
  url = {https://rzine.fr/publication_rzine/xxxxxxx/},
  keywords = {FOS: Other social sciences},
  language = {fr},
  publisher = {FR2007 CIST},
  year = {2024},
  copyright = {Creative Commons Attribution Share Alike 4.0 International},
}


Glossaire


  1. Mot/expression à définir Définition du mot/expression… etc.↩︎